package org.plex.task;

import java.util.Date;
import java.util.List;

import org.plex.attachement.AttachmentInfo;
import org.plex.model.ImageTicket;
import org.plex.model.TaskACL;

public interface TaskInfo extends CreateTaskInfo {
	List<FormInstance> getTaskItems();

	long getTaskId();

	Date getDeadline();

	Date getnextReminder();

	boolean showAttachments();

	List<? extends AttachmentInfo> getAttachments();

	ParticipantInfo getAssignedTo();

	ParticipantInfo getOOODesignatedFor();

	long getActionId();

	String getProcessName();

	String getInstructions();

	String getDescription();

	String getStepName();

	List<TaskACL> getTaskACLs();

	boolean isStartTask();

	boolean isVisible();

	TaskACL getDefaultkACLs();

	short getTaskStatus();

	short getAssignmentType();

	short getAssignmentStatus();

	short getAssignmentSubStatus();

	boolean isLocked();

	long getNumForms();

	long getNumFormsToBeSaved();

	List<String> getRouteList();

	String getSelectedRoute();

	boolean getRouteSelectionRequired();

	String getForwardGroupId();

	String getConsultGroupid();

	long getProcessInstanceId();

	long getActionInstanceid();

	Date getCreateTime();

	Date getUpdateTime();

	long getReminderCount();

	long getCurrentAssignmentId();

	Date getAssignmentCreateTime();

	Date getAssignmentUpdateTime();

	short getPriority();

	ImageTicket getImageTicket();

	boolean isOutOfOfficeEligible();

	TaskTimerInfo getDeadlineInfo();

	TaskTimerInfo getEscalationInfo();

	TaskTimerInfo getFirstReminderInfo();

	TaskTimerInfo getRepeatReminderInfo();

}
